package com.dwjm.serviceImpl;

import java.util.Date;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.dwjm.entity.News;
import com.dwjm.mapper.NewsMapper;
import com.dwjm.service.NewsService;

/**
 * 文案表Service层实现类
 * 
 * @date 2016年12月23日
 * @auther luans
 */
@Service
public class NewsServiceImpl implements NewsService {
	@Resource
	private NewsMapper newsMapper;

	/**
	 * 
	 * 添加文案表信息
	 * 
	 * @param News
	 * @return News
	 * @date 2016年12月23日
	 * @auther luans
	 */
	public int insertSelective(News record) {
		record.setNewsAddtime(new Date());//添加时间
		return newsMapper.insertSelective(record);
	}

	/**
	 * 
	 * 查询文案表：根据主键id
	 * 
	 * @param News
	 * @return News
	 * @date 2016年12月23日
	 * @auther luans
	 */
	public News selectByPrimaryKey(Integer newsId) {
		return newsMapper.selectByPrimaryKey(newsId);
	}

	/**
	 * 
	 * 修改查询文案表信息
	 * 
	 * @param News
	 * @return News
	 * @date 2016年12月23日
	 * @auther luans
	 */
	public int updateByPrimaryKey(News record) {
		return newsMapper.updateByPrimaryKey(record);
	}

	/**
	 * 查询文案表：分页查询
	 * 
	 * @param News
	 * @return List<News>
	 * @date 2016年12月23日
	 * @auther luans
	 */
	public List<News> queryListByPage(News user) {
		return newsMapper.queryListByPage(user);
	}
	
	/**
	 * 查询文案表：定时器用
	 * 
	 * @param News
	 * @return List<News>
	 * @date 2016年12月27日
	 * @auther luans
	 */
	public List<News> queryListForTimer(){
		return newsMapper.queryListForTimer();
	}

	/**
	 * 定时发布
	 * 
	 * @param News
	 * @return int
	 * @date 2016年12月27日
	 * @auther luans
	 */
	public int newsTimer(News news){
		int result = 0;
		Date date = new Date();
		//已发布状态判断是否需要重新定时发布
		if(news.getNewsPublisTime().getTime()> date.getTime()){
			news.setNewsStatus(1);//文案状态：1未发布；2已发布；3删除
			result=this.updateByPrimaryKey(news); 
		}else if(news.getNewsPublisTime().getTime()<= date.getTime()){
			news.setNewsStatus(2);//文案状态：1未发布；2已发布；3删除
			result=this.updateByPrimaryKey(news);
		}
		return result;
	}
	
	/**
	 * 查询文案：PC端首页
	 * 
	 * @param News
	 * @return List<News>
	 * @date 2016年12月27日
	 * @auther luans
	 */
	public List<News> queryListForPC(int type){
		return newsMapper.queryListForPC(type);
	}
	
	/**
	 * 查询文案表：根据id查询上下条记录
	 * 
	 * @param news type:1上一条；2下一条
	 * @param id
	 * @return List<News>
	 * @date 2016年12月28日
	 * @auther luans
	 */
	public List<News> selectLastNext(News news){
		return newsMapper.selectLastNext(news);
	}

}
